package com.fyp.ptma.dao.service.iservice;

import java.util.List;

import org.hibernate.HibernateException;

import com.fyp.ptma.model.Application;
import com.fyp.ptma.model.ApplicationVersion;
import com.fyp.ptma.model.Defect;

/**
 * 
 * @author YahyaArshad
 * 
 */
public interface IDefectService extends IService {

	/**
	 * 
	 * @param version
	 * @return
	 * @throws HibernateException
	 */
	public List<Defect> getDefectsByApplicationVersion(
			ApplicationVersion version) throws HibernateException;

	/**
	 * 
	 * @param application
	 * @return
	 * @throws HibernateException
	 */
	public List<Defect> getDefectsByApplication(Application application)
			throws HibernateException;

	/**
	 * 
	 * @param application
	 * @return
	 * @throws HibernateException
	 */
	public List<Defect> getDownloaderDefects(Application application)
			throws HibernateException;

	/**
	 * 
	 * @param application
	 * @return
	 * @throws HibernateException
	 */
	public List<Defect> getUserDefects(Application application)
			throws HibernateException;

}
